package com.ynr.voucher.service;

import java.util.List;
import java.util.Map;

import com.ynr.voucher.model.ExpenseModel;
import com.ynr.voucher.model.FaModel;
import com.ynr.voucher.model.InvoiceItemModel;
import com.ynr.voucher.model.InvoiceModel;

public interface IVoucherService {

	public void generateInvoiceVoucher(String billDate, int voucherType, InvoiceModel invoice, Map<String, Object> companyMap);

	public void generateSalesVoucher(String billDate, int voucherType, InvoiceModel invoice, Map<String, Object> companyMap, InvoiceItemModel item, int lastVoucherNum);

	public void generateExpenseVoucher(Map<String, Object> companyMap, ExpenseModel expense);

	public void generateBankstatementVoucher(Map<String, Object> companyMap, int voucherType, String billDate,
			List<Map<String, String>> bankStatementContent);

	public void generateSalaryVoucher(String companyId, String billDate, List<Map<String, Object>> salaryContent, int lastVoucherNum);

	public List<Map<String, Object>> getVoucherByCompanyIdAndBillDate(String companyId, String billDate);

	public void updateFaVoucher(String dict, Map<String, Object> dataMap, FaModel fa, Map<String, Object> companyMap, String billDate);

	public void updateVoucher(String dict, Map<String, Object> dataMap, String subject);
	
}
